package znet

import zinterface "zinx/zInterface"

/*
BaseRouter是基类，是模板方法，他只有定义，没有具体实现(方法体为空)
具体的实现留给子类根据需要进行功能扩展
这里预留了钩子方法hooks，有需要的时候可以重写钩子方法PreHandle和PostHandle
但是也有一些router不需要在之前和之后进行处理，他就只需要重写Handle方法就可以了
这是一种预留接口，可扩展的方法
*/
//实现router时，先嵌入这个基类，然后根据需要对这个基类的三个方法进行重写就好了
type BaseRouter struct{}

//处理连接业务conn之前的钩子方法hooks
func(r *BaseRouter)PreHandle(request zinterface.IRequest){}

//处理连接业务conn的主方法
func(r *BaseRouter)Handle(request zinterface.IRequest){}

//处理连接业务conn之后的钩子方法hooks
func(r *BaseRouter)PostHandle(request zinterface.IRequest){}